﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using Website.Logger;
using DAL;
using UtilityExtensions;
using BOL;
using WebLib;
using System.Web.Script.Services;
using System.Web.Services;


namespace UILGestion.Admin.Proyecto
{
    public partial class ProyectoVentaReadForm : System.Web.UI.Page
    {
        public ProyectoVentaReadForm()
        {
            bol = new ProyectoBL();
        }

        private ProyectoBL bol;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                try
                {
                    
                    internalID.Value = (string)Request.QueryString["id"];
                    paginaAnt.Value = Page.Request.UrlReferrer.AbsoluteUri;
                    menuCtrl1.loadMenuSeguridad();
                    FormatForm();

                }
                catch (SqlException sqlex)
                {
                    WebServerSideSqlError.Log(sqlex);

                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


                }
                catch (Exception ex)
                {
                    WebServerSideError.Log(ex);
                    ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                         "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

                }

            }
        }

        private void FormatForm()
        {

           
            Load();
            ProyectoArchivoItem1.Load(internalID.Value.ToInt());

        }
        private void Load()
        {
            DAL.Proyecto proyecto = DbUtil.Db.Proyectos.Single(p => p.idInternal == internalID.Value.ToInt());

            codigoLBL.Text = proyecto.codigo;
            descripcionLBL.Text = proyecto.descripcion;
            tipoProyectoLBL.Text = proyecto.TipoProyecto.descripcion;
            numFichaLBL.Text = proyecto.numFicha;
            numPartidaLBL.Text = proyecto.numPartida;
            numTomoLBL.Text = proyecto.numTomo;
            numFojaLBL.Text = proyecto.numFoja;
            sedeLBL.Text = proyecto.sede;
            areaLBL.Text = proyecto.area.Value.ToString("N");

            emailTextBox.Text = proyecto.email;
            webLBL.Text = proyecto.web;
            fechaEntregaLBL.Text = proyecto.fechaFin.Value.ToShortDateString();
            fechaInicioLBL.Text = proyecto.fechaInicio.Value.ToShortDateString();
            comentarioLBL.Text = proyecto.observacion;
            bitActivoCHK.Checked = proyecto.bitActivo;


            //
            direccionLBL.Text = proyecto.direccion;
            referenciaLBL.Text = proyecto.referencia;
            departamentoLBL.Text = proyecto.Distrito.Provincia.Ciudade.VC_NOMBRE;
            provinciaLBL.Text = proyecto.Distrito.Provincia.VC_NOMBRE;
            distritoLBL.Text = proyecto.Distrito.VC_NOMBRE;
            urbanizacionTXT.Text = proyecto.urbanizacion;
            tipoFinanciamientoDDL.Text = proyecto.FinanciamientoVivienda.descripcion;
            programaDDL.Text = proyecto.idPrograma == null ? "" : proyecto.GrupoDatoitem.descripcion;
            codigoFinanciamientoTXT.Text = proyecto.codigoPrograma;

            idImagen.Value = proyecto.idArchivo.ToString();
            codigoFinanciamientoTXT.Text = proyecto.codigoPrograma;
            imagen.Visible = proyecto.idArchivo != null ? true : false;




        }

        protected void button(object sender, EventArgs e)
        {
            try
            {

                if (((Button)sender).ID == refreshBTN.ID)
                {
                    Response.Redirect("~/Admin/Proyecto/ProyectoVentaReadForm.aspx?id={0}".Fmt(internalID.Value), true);
                }
                if (((Button)sender).ID==nuevoBTN.ID)
                {
                    Response.Redirect("~/Admin/Proyecto/ProyectoVentaEditForm.aspx?type=A",true);
                }
                if (((Button)sender).ID == EditarBTN.ID)
                {
                    Response.Redirect("~/Admin/Proyecto/ProyectoVentaEditForm.aspx?type=E&id={0}".Fmt(internalID.Value), true);
                }
                if (((Button)sender).ID == eliminarBTN.ID)
                {
                    bol.delete(internalID.Value.ToInt());
                    Response.Redirect(paginaAnt.Value, true);
                }
                if (((Button)sender).ID == anteriorBTN.ID)
                {
                    int idAnterior=new DAL.Proyecto().getidAnterior(DbUtil.Db, internalID.Value.ToInt(),50); //proyecto venta
                    Response.Redirect("~/Admin/Proyecto/ProyectoVentaReadForm.aspx?type=E&id={0}".Fmt(idAnterior), true);
                }
                if (((Button)sender).ID == siguienteBTN.ID)
                {
                    int idSiguiente = new DAL.Proyecto().getidAnterior(DbUtil.Db, internalID.Value.ToInt(),50); //proy
                    Response.Redirect("~/Admin/Proyecto/ProyectoVentaReadForm.aspx?type=E&id={0}".Fmt(idSiguiente), true);
                }
               
                if (((Button)sender).ID == addEtapaBTN.ID)
                {
                    Response.Redirect("~/Admin/Etapa/EtapaVentaEditForm.aspx?type=A&idProyecto={0}".Fmt(internalID.Value), true);
                    
                }
                
                

            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);

                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }
        }

    }
}